Ordinarily, files are stored in their entirety, regardless of actual location. When a file is divided into parts for efficient storage or transmitted serially, the parts are nevertheless linked to each other. Consequently, all the informational contents of the file become bound to a physical location.
A chief purpose of operating systems is to manage file storage and retrieval. An added layer of abstraction is used to create a logical file system above the corresponding physical storage. A file can be made to appear to an application as a singular instance of storage, when in actuality it may have been divided into parts, each stored in separate physical locations. Logical file systems can even be created from entirely disparate storage resources, perhaps using different technologies. This added layer of abstraction is commonly referred to by using terminology invoking virtuality. However, the scope of virtuality in this regard is limited, since location independence is achieved by simply mapping the logical file system to corresponding physical locations. All the parts of a given file are immediately identifiable and directly accessible. As a result, informational contents of the file remain bound to a certain physical location.
Users seeking increased mobility have generated new demands for file accessibility without the physical location constraints described above. Whether a file represents an image, music, or an important document, the distinction between local and remote storage is diminishing. High-speed access adds further to an illusion that remotely stored files are available locally, yet the importance placed on access controls is a reminder that desired files are physically stored on a distant server. This commonly escapes mobile workers and the concept of a network perimeter has become blurred. Privacy and security concerns are now crucial, but existing technology must be applied in ever more complicated schemes to balance access and protection.
Portable media technology has steadily improved for many years. In this context, the meaning of portable with regard to file storage media is not necessarily a reference to a particular type of memory, but to any file storage media that enhances mobility—the ability to access files from any location. In the past, one highly recognized form of “portable” media is that of the floppy disk. More recently, the use of floppy disks has been overtaken by USB (Universal Serial Bus) Flash technology. Flash memory devices have also been embedded in products of all types, frequently to enhance communication means. Portable media drives that employ such flash technology make available a wide range of storage capacities, each in a compact physical form that users find immensely convenient to transfer files to and from other locations. However, a given portable media drive possesses a limited and inflexible capacity. Reaching the full capacity of the portable media drive hence compels the user to delete other files, or to acquire additional drive space.
Portable media drive storage also suffers from drawbacks generally associated with storing files in their entirety at a physically identifiable location, such as privacy and security issues, in addition to other limitations. The loss or theft of the portable media drive presents the user with a painful consequence of its compact form. And, while the portable media drive itself is generally quite reliable, files can be lost or compromised due to the failure of the portable media drive. In some cases, the files stored on the portable media drive can be replaced, but the loss or theft of the drive poses a serious threat to personal privacy and to corporate security. Furthermore, the user may not become immediately aware that files stored on the portable media drive had been lost or compromised.
As known to one of skill in the art, file compression can be used to overcome some of these issues. For example, it is possible to reduce the size of a file by identifying occurrences of statistical redundancy within the file, then replacing each with a token shorter than the data that it represents. Encipherment can be used to render a file unintelligible to all but the intended recipient. When storing files, users are themselves the intended recipients. Ciphers scramble file contents according to rules obeyed by the algorithm, using a separate variable to steer the process in a unique way for each different variable. Like compression programs, ciphers are seldom kept secret. Instead, the variables used are treated carefully to avoid compromise, necessitating separate storage. However, the statistical coding information used in file compression must be embedded in the file itself to facilitate decompression later. Notwithstanding these differences, both compression programs and ciphers are deterministic processes, and both produce files containing all of their original informational contents.